package cc.rengu.oltp.service.common.dao;

import cc.rengu.oltp.service.common.entity.FusingCtrlInfo;

import java.util.List;

/**
 * 熔断控制信息表操作接口类
 * Created by 王成 on 2020/2/10
 */
public interface FusingCtrlInfoMapper {
    /**
     * 登记熔断控制信息
     *
     * @param fusingCtrlInfo 熔断控制信息
     * @return 0-成功，其它-失败
     * @throws Exception 异常
     */
    int insertFusigCtrlInfo(FusingCtrlInfo fusingCtrlInfo) throws Exception;

    /**
     * 根据主键更新熔断控制信息
     *
     * @param fusingCtrlInfo 熔断控制信息
     * @return 0-成功，其它-失败
     * @throws Exception 异常
     */
    int updateFusingCtrlInfoByPrimaryKey(FusingCtrlInfo fusingCtrlInfo) throws Exception;

    /**
     * 根据主键查询熔断控制信息
     *
     * @param instId         多法人标识
     * @param fusingCtrlType 熔断控制类型
     * @param fusingCtrlInst 熔断控制主体
     * @return 熔断控制信息
     * @throws Exception 异常
     */
    FusingCtrlInfo selectFusingCtrlInfoByPrimaryKey(String instId, String fusingCtrlType, String fusingCtrlInst) throws Exception;

    /**
     * 查询所有熔断控制信息
     *
     * @param instId 多法人标识
     * @return 熔断控制信息
     * @throws Exception 异常
     */
    List<FusingCtrlInfo> selectAllFusingCtrlInfo(String instId) throws Exception;
}
